﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MSMART;

namespace consoleApp
{
    //Eat tells you what you have to do.
    abstract class Eat
    {
        abstract public void chew();
        public virtual void mymethod()
        {
            Console.WriteLine("My Method -- ");
        }
        
    }

    class meko
    {
        public virtual int mymeko(DateTime d)
        {
            Console.WriteLine("HUNGRY KYA? It is almost {0}", d.TimeOfDay.ToString());
            return 1;
        }
    }

    class feko:meko
    {
        public override int mymeko(DateTime d)
        {
            base.mymeko(d);
            //Console.WriteLine("OVERRIDE HUNGRY KYA?");
            return 0;
        }
    }

    class Program
    {

        static void Main(string[] args)
        {
            clsCaseCreator cc = new clsCaseCreator();
            clsCaseCreator.leaseDetails myLd;
            myLd.address_id = 100;
            myLd.customer_id = 200;
            myLd.contract_id = 300;
            myLd.transactiondate = new DateTime(2011, 03, 03);
            cc.createCase(clsCaseCreator.casetype.Delivery, myLd);

            CowEat x = new CowEat();
            CatEat y = new CatEat();
            DateTime d = new DateTime(2001,12,25,12,05,44,DateTimeKind.Local);
            x.chew();
            y.chew();
            x.mymethod();
            feko ff = new feko();
            ff.mymeko(d);
           
        }
    }
    class CowEat : Eat {
        public override void chew()
        {
            Console.WriteLine("I am a cow and I love to chew");
            
        }
        public override void mymethod()
        {
            base.mymethod();
        }
        
    }
        class CatEat : Eat {
            public override void chew()
            {
                Console.WriteLine("I am a cat and I chew");
            }
        }
  
}
